The present invention relates to the use of a game server in connection with a messenger server in a multi-user networked computing environment.
With the advent of the global inter-network of networks generally referred to as xe2x80x9cthe Internet,xe2x80x9d communication between users connected to the Internet has been facilitated by programs such as email and instant messaging. Instant messaging allows users connected to the Internet to communicate between each other in real-time. Typically, a first user downloads an instant message program into their Internet connectable computing device that can invoke a window that includes a section for typing messages and for showing a list of other online users designated as xe2x80x9cbuddiesxe2x80x9d or as xe2x80x9cfriendsxe2x80x9d by the first user. Users can chat with any number of online buddies by selecting the desired users from their buddy list. A connection is then made between the user and selected buddy. Once the connection is completed, the users can communicate by typing and sending messages. Unlike email, the instant messages are designed to appear on the other user""s instant message window as soon as they are sent and while the recipient is online. Thus, an interactive chat can be held using the instant message system.
Additionally, interactive games can be played through the Internet. For example, a card game, such as hearts, can be played between users. A user who desires to play in an interactive game can log on to a web site to join a game. At the web site, the user could decide to join a game with random players or can join a game with friends if the user has a reference to the game the friends are playing. However, to join a friend""s game, the user must have reference to the specific game on the web site, such as a directory or uniform resource locator (xe2x80x9cURLxe2x80x9d). The user might have received the reference to the friends"" game through email, or any other communications means, or alternatively, the user could have searched the site for games the user""s friends were playing. Once locating the game, the web site typically facilitates joining the user to the game by providing a link or URL for the user to select to join the game. Once joining the game, the players of the game would then all view the same game and interact with the game through their respective browsers or user interfaces. As each player interacts with the game, the results of the interactions appear on all players"" screens that are participating in the game. For example, if a player discards a card in the hearts game, all players would see the card discarded. Thus, users in remote locations can play an interactive game of hearts.
Using an instant messenger program, buddies can facilitate joining an interactive game between themselves. A text message can be sent to another online user through the instant messaging system asking the user if they want to play the desired game. Once receiving the message, the user can decide to join the game with the requester. However, to join the game, the user must have downloaded the game beforehand. Thus, if the game that the requester wants to play has not been downloaded, the user would have to find out where the game is located and download the game before proceeding. Once downloaded, the user launches the game in the user""s computer. The game then finds connection information for the game from the user""s instant messenger program and connects to the game. In conventional instant messaging configurations, the only communication sent between the requester and user is a text message asking the user to play a game. No other information regarding the game is sent to the user. Thus, the user must affirmatively find the game requested or download the game and connect to the game the requester is playing.
Additionally, the only users that can participate in the game are the users that were invited by the user who sent the original invitation. The invitation is sent out to the invited users and a game is launched with only the invited users as possible players. If there are other buddies who want to participate, the buddies must be affirmatively invited by a player of the game. Also, the players of the game are transparent to other buddies on the players"" buddies lists. In other words, other buddies do not know the players are participating in an interactive game. Rather, the buddies only know that the players are currently on-line.
The present invention relates to a game and messenger client-server system. In one embodiment of the present invention, end users connect game clients to a game server to allow multiple users to interact in a game. End users can use messenger clients to notify other end users that the notifier is currently in an online game and provide instructions for others to join a multiplayer game. In some embodiments, the messages sent to messenger clients of invitees contain sufficient data to allow an invitee to join a specific game that the inviter is playing.
In one embodiment of the present invention, a client-server system includes a plurality of game clients, a game server, a plurality of messenger clients, and a messenger server. The game server includes logic to operate a multiplayer game using inputs from and outputs to an active game set of game clients of the plurality of game clients, wherein game clients other than those in the active game set can join an active game by supplying the game server with a reference to the active game. The messenger server includes logic to forward messages from a sender messenger client to a receiving messenger client. Additionally, logic is included for coupling a game client to a messenger client to allow the game client to send the messenger client data used to initiate joining a game, whereby a message sent by the messenger client includes the data used to initiate joining a game. Also, logic is included for initiating a join of a game at an invitee client, using data received in a message to the invitee.
In another embodiment, a method of operating a multi-player game having a plurality of game clients and a plurality of messenger clients in communication with a game server and a messenger server is provided. The method includes the steps of joining the game by sending a reference to the game to the game server; sending, from an inviter game client to an inviter messenger client, data used to initiate joining the game; sending a message including the data used to initiate joining the game to the messenger server; routing the message to an invitee messenger client; and using the data in the routed message to invoke a game client and join the game.
In one embodiment, the present invention provides for a software development kit (SDK) including novel software and processes. An exemplary game according to the present invention supports a SDK in connection with a local messenger client when the game connects to or disconnects from a game server, where such connects and disconnects use a small piece of code to effectuate multi-player gaming. When connecting to a game server, the game creates a command line that another player could use to launch his/her copy of the game and connect to the same game server. This command line (along with a short game name and description of the particular server) is sent from the messenger client to everyone in a player""s friend list. The buddies"" messenger clients download some additional game information and then shows an icon for the game next to the game player""s name. When a friend selects xe2x80x9cJoin game,xe2x80x9d the messenger attempts to launch the game executable with the command line to join the same game server. If the users agree, the friends can remotely play a game together according to the present invention.
A further understanding of the nature and advantages of the invention herein may be realized by reference of the remaining portions in the specifications and the attached drawings.